#ifndef SESSIONPRESENCE_H
#define SESSIONPRESENCE_H

#include <string>
#include <iostream>
#include "CsvRow.h"

class SessionPresence {
public:
  SessionPresence(const std::string& id, const std::string& sessionId,const std::string& memberId)  :
    m_id(id),    
    m_sessionId(sessionId),    
    m_memberId(memberId)
  {
  }

  SessionPresence()
  {
  }

  virtual ~SessionPresence()
  {
  }

  const std::string id() const { return m_id; }  
  const std::string sessionId() const { return m_sessionId; }  
  const std::string memberId() const { return m_memberId; }

  bool empty() const 
  {
    return m_id.empty() &&      
      m_sessionId.empty() &&      
      m_memberId.empty();
  }

  SessionPresence& operator=(const SessionPresence& other);

  bool operator==(const SessionPresence& other) const;

private:
  std::string m_id;
  std::string m_sessionId;
  std::string m_memberId;
};

std::ostream& operator<<(std::ostream& stream, const SessionPresence &sessionPresence);
std::istream& operator>>(std::istream& stream, SessionPresence& sessionPresence);

#endif // SESSIONPRESENCE_H